package cn.walls1717.juc.lock;

import lombok.extern.slf4j.Slf4j;

/**
 * 锁消除测试
 *
 * @author walls1717
 * @create 2022/12/17 14:03
 **/
@Slf4j
public class LockClearUpDemo {

    public static void main(String[] args) {
        for (int i = 1; i <= 10 ; i++) {
            new Thread(()->{
                m1();
            }).start();
        }
    }

    private static void m1() {
        // 这里会发生锁消除，JIT编译器会无视他，因为每次方法进来锁的都是新的对象，毫无意义。JIT底层自动优化了。
        Object o = new Object();
        synchronized (o) {
            System.out.println(o.hashCode());
        }
    }
}
